// 就是axios的二次封装
import axios from 'axios';

// 请求实例
let http = axios.create({
  baseURL: 'http://localhost:3333/', //基准路径会和url地址做拼接
  timeout: 10000,
});


// -----------------------请求拦截器---------------------------
http.interceptors.request.use(  
  (request) => {  
      const token = localStorage.getItem('token');  
      if (token) {  
          request.headers['Authorization'] = `Bearer ${token}`; // 添加 token  
      }  
      return request;  
  },  
  (error) => {  
      return Promise.reject(error);  
  }  
);  


// -----------------------响应拦截器---------------------------
http.interceptors.response.use(
  (response) => {
    return response;
  },
  (error) => {
    // 响应的错误信息  提前处理错误的响应状态
    if (error.response) {
      //对404的响应状态 提前做出处理
      //对500的响应状态  提前做出处理
      if (error.response.status == 404) {
        //404的处理逻辑就就写在这里
      } else if (error.response.status == 500) {
        //500的处理逻辑就写在这里
      }
    }
    return Promise.reject(error);
  },
);


export default http;
